Proyecto HEAT-CARD

Colaboración Mútua Terrassa - UPC

April 17, 2025

Proyecto HEAT-CARD

“Heat and Environmental impacts on Acute Threats to CARDiovascular and metabolic health”

Estudiamos el impacto de los eventos climáticos extremos en eventos cardiovasculares, con especial foco en personas diabéticas

Nuestros datos

  • Datos clínicos

    (Mútua Terrassa)

  • Datos de temperatura

    (Xarxa d’Estacions Meteorològiques Automàtiques (XEMA) del SMC)

Dataset clínico

Datos de interés:

  • Datos demográficos ➛ tabla Demografiques

  • Disgnósticos ➛ tabla Diagnostics

  • Hospitalizaciones ➛ tabla Hospital

  • Urgencias ➛ tabla Urgencies

  • Ambulatorio ➛ tabla Ambul

Tabla ‘Demografiques’

Pacientes en 'Demografiques': 230650
Pacientes con CP no válido: 2848
Pacientes sin datos de sexo o nacimiento: 1
Pacientes EXITUS sin fecha: 2304
Pacientes con EXITUS el 04/08/2017: 1726
Pacientes nacidos después de 2022: 1278
Pacientes totales: 222614

Descripción ‘Demografiques’

 

 

 

 

 

 

 

Diagnósticos de estudio

ICD-9

  • Cardiovascular : I00 - I99

  • Diabetes: E08 - E13

     

ICD-10

  • Cardiovascular: 390 - 459

  • Diabetes: 249 - 250

Diagnósticos de estudio (procedencia)

  • Urgencies ➛ sin diagnósticos

  • Ambul ➛ sin diagnósticos

  • Hospital ➛ con diagnósticos

  • Diagnostics ➛ urgencies + ambul + hospital ?

     

Agrupación de pacientes a partir de ‘Diagnostics’ + ‘Hospital

Clasificación de pacientes

4 grupos:

  • Diabéticos

  • Cardiovasculares

  • Ambos (paciente diabético + cardiovascular)

  • Control

201520152022DiabetesCardiovascularAmbos201520152022DiabetesDiabetes201520152022CardiovascularCardiovascular

Diagnósticos cardiovasculares de estudio

 

Categorías más presentes:

  • 401 - Essential hypertension

  • I10 - Essential (primary) hypertension

  • 427 - Cardiac dysrhythmias

  • 428 - Heart failure

  • 443 - Other peripheral vascular disease

  • 454 - Varicose veins of lower extremities

  • 455 - Hemorrhoids

Diagnósticos diabéticos de estudio

 

Diagnósticos más presentes:

  • 250.00 - Diabetes mellitus without mention of complication, type II or unspecified type, not stated as uncontrolled

  • 250.0 - Diabetes mellitus without mention of complication

  • E11.9 - Type 2 diabetes mellitus without complications

  • 250.01 - Diabetes mellitus without mention of complication, type I [juvenile type], not stated as uncontrolled

  • E11.65 - Type 2 diabetes mellitus with hyperglycemia

  • 250 - Diabetes mellitus

  • 250.80 - Diabetes with other specified manifestations, type II or unspecified type, not stated as uncontrolled

  • 250.02 - Diabetes mellitus without mention of complication, type II or unspecified type, uncontrolled

  • 250.10 - Diabetes with ketoacidosis, type II or unspecified type, not stated as uncontrolled

  • 250.50 - Diabetes with ophthalmic manifestations, type II or unspecified type, not stated as uncontrolled

Tipos de diabéticos

Grupos

 

Pacientes por grupo: 
 - Control: 164376 pacientes
 - Ambos: 11200 pacientes
 - Diabetes: 3266 pacientes
 - Cardiovascular: 43772 pacientes

Descripción de los grupos

 

 

 

Proporciones por cada CP

Temperatura

 

Falta de relación directa medición - municipio o medición-código postal debido a la disposición de las estaciones

  • Interpolación

Interpolación con Pymica

Multiple Linear Regression (+ Residual Correction) with Clusters methodology

Conseguimos interpolar mediciones para el centro geométrico de cada CP:

➛ máximas diarias de 2015 a 2022

Datos de temperatura

 

Relación calor - evento clínico

 

Primera aproximación: Interacciones totales

 

¿Qué es una interacción?

Punto de contacto del paciente con el entorno sanitario

= Ambulatoria + Hospitalizaciones + Urgencias

Interacciones a lo largo del tiempo

Grupos

  • Ambos
  • Cardiovascular
  • Control
  • Diabetes

Actividad semanal

Grupos

  • Ambos
  • Cardiovascular
  • Control
  • Diabetes

Grupos

  • Ambos
  • Cardiovascular
  • Control
  • Diabetes

 

 

 

Servicios

  • Ambul
  • Hosp
  • Urgencies

Servicios

  • Ambul
  • Hosp
  • Urgencies

 

 

     

Actividad semanal por servicio

Servicios

  • Ambul
  • Hosp
  • Urgencies

Servicios

  • Ambul
  • Hosp
  • Urgencies

Servicios

  • Ambul
  • Hosp
  • Urgencies

Servicios

  • Ambul
  • Hosp
  • Urgencies

Interacciones vs Temperatura

 

 

 

 

DLNM (Distributed Lag Non-linear models)

Relación entre calor y efectos en salud no lineal debido a que estos no son inmediatos

➛ utilizamos modelos que permiten estimar cómo un factor tiene una respuesta a lo largo del tiempo y de forma no lineal

 

Bases:

  • Incluimos factores influyentes como día de la semana, festivos, semana del año, etc.

  • Ajustamos el tiempo para incluir tendencias y estacionalidad

  • Ajustamos el rezago de estudio hasta 21 días

Cómo ajustamos el modelo

Ajustamos un modelo para cada grupo de la forma:

 

\(\begin{array}{l}{\mathrm{log}}({E}({\mathrm{interaction}}))=\\{\mathrm{intercept}}+{\mathrm{crossbasis}}({\mathrm{temp}};21\,{\mathrm{lag}}\,{\mathrm{days}})+{\mathrm{ns}}({\mathrm{time}},8 \;{\mathrm{d.f}}.\,{\mathrm{per}}\,{\mathrm{year}})\\+{\mathrm{holiday}}+{\mathrm{dow}}\end{array}\)

 

Podemos ver un summary del modelo ajustado por ejemplo para el grupo ‘Ambos’:


Call:
glm(formula = interacciones ~ basis_temp + festivo + ns(day, 
    8 * 8) + weekday, family = quasipoisson(), data = df_cp, 
    na.action = "na.exclude")

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)       6.653305   0.237468  28.018  < 2e-16 ***
basis_tempv1.l1  -0.010595   0.067718  -0.156 0.875678    
basis_tempv1.l2  -0.046151   0.078820  -0.586 0.558240    
basis_tempv1.l3  -0.061156   0.078873  -0.775 0.438187    
basis_tempv1.l4  -0.148943   0.080107  -1.859 0.063086 .  
basis_tempv1.l5   0.103674   0.079157   1.310 0.190393    
basis_tempv1.l6  -0.070526   0.078294  -0.901 0.367779    
basis_tempv1.l7   0.030211   0.077126   0.392 0.695298    
basis_tempv1.l8  -0.082508   0.076669  -1.076 0.281946    
basis_tempv1.l9   0.036356   0.078398   0.464 0.642876    
basis_tempv1.l10 -0.018182   0.079283  -0.229 0.818625    
basis_tempv1.l11 -0.115485   0.078459  -1.472 0.141152    
basis_tempv1.l12 -0.068176   0.077081  -0.884 0.376512    
basis_tempv1.l13 -0.035302   0.077948  -0.453 0.650656    
basis_tempv1.l14  0.028460   0.076414   0.372 0.709590    
basis_tempv1.l15  0.052332   0.076790   0.681 0.495612    
basis_tempv1.l16 -0.078151   0.079359  -0.985 0.324812    
basis_tempv1.l17  0.028053   0.078993   0.355 0.722515    
basis_tempv1.l18 -0.072053   0.078459  -0.918 0.358514    
basis_tempv1.l19 -0.072137   0.077355  -0.933 0.351131    
basis_tempv1.l20  0.032821   0.078266   0.419 0.674989    
basis_tempv1.l21 -0.017368   0.067458  -0.257 0.796842    
basis_tempv2.l1   0.126536   0.078678   1.608 0.107886    
basis_tempv2.l2   0.010687   0.090259   0.118 0.905752    
basis_tempv2.l3  -0.091021   0.090606  -1.005 0.315181    
basis_tempv2.l4  -0.081853   0.091186  -0.898 0.369449    
basis_tempv2.l5   0.143720   0.090153   1.594 0.111006    
basis_tempv2.l6   0.008427   0.087600   0.096 0.923373    
basis_tempv2.l7  -0.063447   0.086292  -0.735 0.462240    
basis_tempv2.l8  -0.071739   0.085456  -0.839 0.401267    
basis_tempv2.l9   0.045967   0.087449   0.526 0.599179    
basis_tempv2.l10  0.006830   0.090133   0.076 0.939604    
basis_tempv2.l11 -0.081335   0.089398  -0.910 0.363003    
basis_tempv2.l12 -0.030175   0.087184  -0.346 0.729285    
basis_tempv2.l13  0.007254   0.087106   0.083 0.933640    
basis_tempv2.l14 -0.035628   0.084653  -0.421 0.673886    
basis_tempv2.l15  0.044001   0.085059   0.517 0.604988    
basis_tempv2.l16 -0.007222   0.087596  -0.082 0.934295    
basis_tempv2.l17 -0.035067   0.088916  -0.394 0.693328    
basis_tempv2.l18 -0.058603   0.088800  -0.660 0.509341    
basis_tempv2.l19  0.037618   0.088517   0.425 0.670882    
basis_tempv2.l20  0.037273   0.088010   0.424 0.671958    
basis_tempv2.l21  0.058374   0.075769   0.770 0.441111    
basis_tempv3.l1   0.023832   0.152923   0.156 0.876166    
basis_tempv3.l2   0.049315   0.176672   0.279 0.780164    
basis_tempv3.l3  -0.070768   0.179330  -0.395 0.693150    
basis_tempv3.l4  -0.257774   0.182931  -1.409 0.158904    
basis_tempv3.l5   0.316765   0.179473   1.765 0.077676 .  
basis_tempv3.l6  -0.179438   0.175931  -1.020 0.307846    
basis_tempv3.l7   0.114553   0.172285   0.665 0.506167    
basis_tempv3.l8  -0.069304   0.170808  -0.406 0.684964    
basis_tempv3.l9   0.060991   0.174502   0.350 0.726730    
basis_tempv3.l10  0.004397   0.178921   0.025 0.980395    
basis_tempv3.l11 -0.236629   0.177390  -1.334 0.182329    
basis_tempv3.l12 -0.282753   0.174561  -1.620 0.105388    
basis_tempv3.l13  0.097212   0.174662   0.557 0.577862    
basis_tempv3.l14 -0.014847   0.170698  -0.087 0.930693    
basis_tempv3.l15  0.124312   0.170642   0.728 0.466370    
basis_tempv3.l16 -0.111712   0.174560  -0.640 0.522248    
basis_tempv3.l17  0.092496   0.177176   0.522 0.601671    
basis_tempv3.l18 -0.140744   0.177620  -0.792 0.428200    
basis_tempv3.l19 -0.010092   0.174970  -0.058 0.954008    
basis_tempv3.l20 -0.043004   0.176379  -0.244 0.807392    
basis_tempv3.l21  0.052087   0.151323   0.344 0.730712    
basis_tempv4.l1  -0.129762   0.100455  -1.292 0.196550    
basis_tempv4.l2   0.060455   0.121456   0.498 0.618697    
basis_tempv4.l3  -0.029093   0.119648  -0.243 0.807904    
basis_tempv4.l4  -0.095451   0.117337  -0.813 0.416014    
basis_tempv4.l5   0.078970   0.116737   0.676 0.498792    
basis_tempv4.l6  -0.221011   0.117002  -1.889 0.059001 .  
basis_tempv4.l7   0.068570   0.120288   0.570 0.568691    
basis_tempv4.l8   0.061936   0.122822   0.504 0.614107    
basis_tempv4.l9  -0.009680   0.118085  -0.082 0.934674    
basis_tempv4.l10  0.106582   0.120191   0.887 0.375277    
basis_tempv4.l11 -0.068780   0.117578  -0.585 0.558611    
basis_tempv4.l12 -0.163640   0.116817  -1.401 0.161375    
basis_tempv4.l13  0.158583   0.118473   1.339 0.180821    
basis_tempv4.l14  0.023167   0.122092   0.190 0.849520    
basis_tempv4.l15 -0.061386   0.123573  -0.497 0.619401    
basis_tempv4.l16 -0.044152   0.119597  -0.369 0.712026    
basis_tempv4.l17  0.159909   0.117397   1.362 0.173269    
basis_tempv4.l18  0.028162   0.120195   0.234 0.814770    
basis_tempv4.l19  0.024953   0.117923   0.212 0.832433    
basis_tempv4.l20 -0.257633   0.118687  -2.171 0.030037 *  
basis_tempv4.l21  0.013356   0.099325   0.134 0.893041    
festivo          -0.745301   0.022130 -33.678  < 2e-16 ***
ns(day, 8 * 8)1   0.219979   0.179633   1.225 0.220827    
ns(day, 8 * 8)2   0.396167   0.245878   1.611 0.107240    
ns(day, 8 * 8)3   0.358778   0.223294   1.607 0.108221    
ns(day, 8 * 8)4  -0.592671   0.250331  -2.368 0.017973 *  
ns(day, 8 * 8)5   0.506762   0.222746   2.275 0.022976 *  
ns(day, 8 * 8)6   0.698901   0.219107   3.190 0.001439 ** 
ns(day, 8 * 8)7  -0.127460   0.215628  -0.591 0.554493    
ns(day, 8 * 8)8   0.617861   0.214185   2.885 0.003947 ** 
ns(day, 8 * 8)9   0.075509   0.215466   0.350 0.726030    
ns(day, 8 * 8)10  0.565810   0.218976   2.584 0.009819 ** 
ns(day, 8 * 8)11  0.310266   0.235990   1.315 0.188703    
ns(day, 8 * 8)12 -0.627045   0.245890  -2.550 0.010821 *  
ns(day, 8 * 8)13  0.490789   0.230838   2.126 0.033579 *  
ns(day, 8 * 8)14  0.640525   0.219076   2.924 0.003486 ** 
ns(day, 8 * 8)15 -0.103623   0.212415  -0.488 0.625706    
ns(day, 8 * 8)16  0.533860   0.214940   2.484 0.013057 *  
ns(day, 8 * 8)17  0.305396   0.218288   1.399 0.161907    
ns(day, 8 * 8)18  0.477239   0.216954   2.200 0.027906 *  
ns(day, 8 * 8)19  0.446434   0.241667   1.847 0.064806 .  
ns(day, 8 * 8)20 -0.543023   0.237345  -2.288 0.022216 *  
ns(day, 8 * 8)21  0.530474   0.230794   2.298 0.021607 *  
ns(day, 8 * 8)22  0.609611   0.215532   2.828 0.004711 ** 
ns(day, 8 * 8)23  0.006435   0.215719   0.030 0.976204    
ns(day, 8 * 8)24  0.476568   0.210244   2.267 0.023481 *  
ns(day, 8 * 8)25  0.203666   0.217047   0.938 0.348144    
ns(day, 8 * 8)26  0.521736   0.218694   2.386 0.017113 *  
ns(day, 8 * 8)27  0.496170   0.234414   2.117 0.034377 *  
ns(day, 8 * 8)28 -0.664886   0.243841  -2.727 0.006436 ** 
ns(day, 8 * 8)29  0.505503   0.236126   2.141 0.032374 *  
ns(day, 8 * 8)30  0.571509   0.216464   2.640 0.008331 ** 
ns(day, 8 * 8)31 -0.166061   0.215318  -0.771 0.440633    
ns(day, 8 * 8)32  0.651229   0.214214   3.040 0.002387 ** 
ns(day, 8 * 8)33  0.224425   0.218493   1.027 0.304436    
ns(day, 8 * 8)34  0.538955   0.215999   2.495 0.012646 *  
ns(day, 8 * 8)35  0.435512   0.239934   1.815 0.069608 .  
ns(day, 8 * 8)36 -0.535802   0.239792  -2.234 0.025532 *  
ns(day, 8 * 8)37  0.486086   0.236398   2.056 0.039853 *  
ns(day, 8 * 8)38  0.699778   0.215363   3.249 0.001170 ** 
ns(day, 8 * 8)39 -0.289745   0.215935  -1.342 0.179763    
ns(day, 8 * 8)40  1.004795   0.217108   4.628 3.86e-06 ***
ns(day, 8 * 8)41 -0.815779   0.221075  -3.690 0.000228 ***
ns(day, 8 * 8)42  0.113631   0.227506   0.499 0.617491    
ns(day, 8 * 8)43  0.395801   0.229405   1.725 0.084575 .  
ns(day, 8 * 8)44 -0.477698   0.251928  -1.896 0.058039 .  
ns(day, 8 * 8)45  0.431800   0.226457   1.907 0.056652 .  
ns(day, 8 * 8)46  0.711261   0.221801   3.207 0.001357 ** 
ns(day, 8 * 8)47 -0.328915   0.215112  -1.529 0.126365    
ns(day, 8 * 8)48  0.663061   0.216322   3.065 0.002196 ** 
ns(day, 8 * 8)49  0.271904   0.213463   1.274 0.202848    
ns(day, 8 * 8)50  0.775025   0.217331   3.566 0.000368 ***
ns(day, 8 * 8)51  0.262655   0.241656   1.087 0.277176    
ns(day, 8 * 8)52 -0.396019   0.236585  -1.674 0.094261 .  
ns(day, 8 * 8)53  0.587266   0.233616   2.514 0.011999 *  
ns(day, 8 * 8)54  0.637791   0.214927   2.967 0.003028 ** 
ns(day, 8 * 8)55 -0.115551   0.215445  -0.536 0.591766    
ns(day, 8 * 8)56  0.685423   0.215408   3.182 0.001479 ** 
ns(day, 8 * 8)57  0.279176   0.213033   1.310 0.190138    
ns(day, 8 * 8)58  0.506464   0.226240   2.239 0.025258 *  
ns(day, 8 * 8)59  0.460898   0.238190   1.935 0.053089 .  
ns(day, 8 * 8)60 -0.529261   0.246052  -2.151 0.031559 *  
ns(day, 8 * 8)61  0.880063   0.232721   3.782 0.000159 ***
ns(day, 8 * 8)62 -0.125901   0.162489  -0.775 0.438506    
ns(day, 8 * 8)63 -0.382483   0.448184  -0.853 0.393506    
ns(day, 8 * 8)64 -0.927249   0.120018  -7.726 1.53e-14 ***
weekdayMonday     0.170589   0.013764  12.393  < 2e-16 ***
weekdaySaturday  -2.523658   0.037055 -68.105  < 2e-16 ***
weekdaySunday    -2.764900   0.041216 -67.083  < 2e-16 ***
weekdayThursday   0.090728   0.014061   6.453 1.29e-10 ***
weekdayTuesday    0.111904   0.014051   7.964 2.39e-15 ***
weekdayWednesday  0.125706   0.014009   8.973  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for quasipoisson family taken to be 30.51383)

    Null deviance: 1020120  on 2992  degrees of freedom
Residual deviance:   97165  on 2837  degrees of freedom
  (21 observations deleted due to missingness)
AIC: NA

Number of Fisher Scoring iterations: 5

 

DLNM - Interacciones totales

En esta primera aproximación intentamos estimar la relación entre interacciones totales y la temperatura: